package com.niuwa.p2p.service.yeepay;

import com.niuwa.p2p.entity.yeepay.YeePayAutoTransferRequest;
import com.niuwa.p2p.entity.yeepay.YeePayBaseResponse;
import com.niuwa.p2p.entity.yeepay.YeePayBindRequest;
import com.niuwa.p2p.entity.yeepay.YeePayEnterpriseRegisterRequest;
import com.niuwa.p2p.entity.yeepay.YeePayRechargeRequest;
import com.niuwa.p2p.entity.yeepay.YeePayRegisterRequest;
import com.niuwa.p2p.entity.yeepay.YeePayUnBindRequest;
import com.niuwa.p2p.entity.yeepay.YeePayWithdrawRequest;
import com.niuwa.p2p.entity.yeepay.YeePayeAutoRepaymentRequest;
import com.niuwa.p2p.entity.yeepay.YeepayCpTenderRequest;
import com.niuwa.p2p.entity.yeepay.YeepayCpTransferRequest;
import com.niuwa.p2p.entity.yeepay.cp.CpExtendRequest;
import com.niuwa.p2p.entity.yeepay.supple.AutoTransactionRequest;
import com.niuwa.p2p.entity.yeepay.supple.CancelAuthorizeAutoRequest;
import com.niuwa.p2p.entity.yeepay.supple.CancelAutoRepaymentRequest;
import com.niuwa.p2p.entity.yeepay.supple.CompleteTransactionRequest;
import com.niuwa.p2p.entity.yeepay.supple.DirectTransactionResponse;
import com.niuwa.p2p.entity.yeepay.supple.SuppleAccountRequest;
import com.niuwa.p2p.entity.yeepay.supple.SuppleAccountResponse;
import com.niuwa.p2p.entity.yeepay.supple.SuppleFreezeRequest;
import com.niuwa.p2p.entity.yeepay.supple.SuppleFreezeResponse;
import com.niuwa.p2p.entity.yeepay.supple.SuppleSingleQueryRequest;
import com.niuwa.p2p.entity.yeepay.supple.SuppleSingleQueryResponse;
import com.niuwa.p2p.entity.yeepay.supple.SuppleUnFreezeRequest;
import com.niuwa.p2p.entity.yeepay.supple.SuppleUnFreezeResponse;
import com.niuwa.p2p.entity.yeepay.supple.YeePayDirectTransactionRequest;

/**
 * 
 * @title 易宝接口service [pc]
 *
 * @author tennyqin
 * @version 1.0
 * @created 2015年4月7日
 */
public interface YeePayService {

	public YeePayBaseResponse doRegister(YeePayRegisterRequest request); // 注册

	public YeePayBaseResponse doRecharge(YeePayRechargeRequest request); // 充值

	public YeePayBaseResponse DoWithdraw(YeePayWithdrawRequest request);// 提现

	public YeePayBaseResponse DoBindBankCard(YeePayBindRequest request); // 绑卡

	public YeePayBaseResponse UnbindBankCard(YeePayUnBindRequest request); // 取消绑卡

	public YeePayBaseResponse doEnterpriseRegister(YeePayEnterpriseRegisterRequest request); // 企业用户注册

	public YeePayBaseResponse doTransfer(YeepayCpTransferRequest request); // 转账

	public YeePayBaseResponse doCpTransaction(YeepayCpTenderRequest request, 
			CpExtendRequest cpRequest); // 投标、还款、债权转让[注意类型不一样参数对应不一样]

	public YeePayBaseResponse doAuthorizeAutoTransfer(YeePayAutoTransferRequest request); // 自动投标授权

	public YeePayBaseResponse doAuthorizeAutoRepayment(YeePayeAutoRepaymentRequest request); // 自动还款授权

	public SuppleAccountResponse doAccoutInfo(SuppleAccountRequest request);// 账户查询

	public SuppleFreezeResponse doFreeze(SuppleFreezeRequest request); // 资金冻结

	public SuppleUnFreezeResponse doUnFreeze(SuppleUnFreezeRequest request); // 资金解冻

	public SuppleSingleQueryResponse doSingleQuery(SuppleSingleQueryRequest request);// 单笔查询接口

	public DirectTransactionResponse doDirectTransaction(YeePayDirectTransactionRequest request); // 直接转账

	public DirectTransactionResponse doAutoTransaction(AutoTransactionRequest request); // 自动转账授权

	public DirectTransactionResponse doCompleteTransaction(CompleteTransactionRequest request); // 转账确认

	public DirectTransactionResponse doCancelAuthorizeAuto(CancelAuthorizeAutoRequest request); // 取消自动投标授权

	public DirectTransactionResponse doCancelAutoRepayment(CancelAutoRepaymentRequest request); // 取消自动还款授权
	
}


